home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Linux
/
Kubuntu 8.10
/
kubuntu-8.10-desktop-i386.iso
/
casper
/
filesystem.squashfs
/
etc
/
init.d
/
wpa-ifupdown
< prev
next >
Wrap
Text File
|
2008-09-03
|
2KB
|
89 lines
#!/bin/sh
### BEGIN INIT INFO
# Provides: wpa-ifupdown
# Required-Start: $network
# Required-Stop: $network $remote_fs
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop: 0 6
# Short-Description: Stop wpa_supplicant processes started via ifupdown
# Description: Run ifdown on interfaces authenticated via
# wpa_supplicant. Sendsigs terminates wpa_supplicant
# processes before networking is stopped causing each
# network interface authenticated via a wpa_supplicant
# daemon to be terminated abrubtly.
# Since initscripts package version 2.86.ds1-48 an
# interface exists to omit process id's from sendsigs. If
# this interface is present this script is a no-op.
### END INIT INFO
PATH=/usr/sbin:/usr/bin:/sbin:/bin
test -d /var/run || exit 0
test -x /sbin/ifdown || exit 0
. /lib/lsb/init-functions
stop_wpa_action () {
test -x /sbin/wpa_action || return 0
IFACES=$(find /var/run -maxdepth 1 -type f -name 'wpa_action.*.pid' -printf '%P\n' | \
cut -d'.' -f2 2>/dev/null)
if test -n "$IFACES"; then
log_daemon_msg "Stopping wpa_action roaming interfaces"
for iface in $IFACES; do
log_progress_msg "$iface"
# wpa_action executes /sbin/ifdown
wpa_action "$iface" stop >/dev/null 2>&1
done
log_end_msg 0
fi
}
stop_wpa_supplicant () {
IFACES=$(find /var/run -maxdepth 1 -type f -name 'wpa_supplicant.*.pid' -printf '%P\n' | \
grep -v wpa_supplicant.dbus.pid | cut -d'.' -f2 2>/dev/null)
if test -n "$IFACES"; then
log_daemon_msg "Stopping wpa_supplicant interfaces"
for iface in $IFACES; do
log_progress_msg "$iface"
ifdown "$iface" >/dev/null 2>&1
done
log_end_msg 0
fi
}
sendsigs_omission_support () {
if [ -d /lib/init/rw/sendsigs.omit.d/ ]; then
# Debian
return 0
elif [ /var/run/sendsigs.omit.d/ ]; then
# Ubuntu, cf. https://bugs.launchpad.net/bugs/181541
return 0
fi
return 1
}
case "$1" in
start|restart|force-reload)
# No-op
;;
stop)
if sendsigs_omission_support; then
stop_wpa_action
else
stop_wpa_action
stop_wpa_supplicant
fi
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0